package com.deer.wms.base.system.dao;

import com.deer.wms.base.system.model.BillInRecord;
import com.deer.wms.base.system.model.BillInRecordCriteria;
import com.deer.wms.base.system.model.BillInRecordDto;
import com.deer.wms.base.system.model.bill.BillInDetailStreamVo;
import com.deer.wms.base.system.model.box.BoxItem;
import com.deer.wms.common.core.commonMapper.Mapper;

import java.util.List;

public interface BillInRecordMapper extends Mapper<BillInRecord> {
    List<BillInRecordDto> findListToEBS(BillInRecordCriteria billInRecordCriteria);
    List<BillInRecordDto> findCheckRecordFromEBS(BillInRecordCriteria billInRecordCriteria);

    List<BillInRecordDto> findExportList(BillInRecordCriteria billInRecordCriteria);

    List<BillInRecordDto> findList(BillInRecordCriteria billInRecordCriteria);
    List<BillInRecordDto> findListbyid(BillInRecordCriteria billInRecordCriteria);

    public BillInRecord findBillInRecordById(Integer id);

    public int updateBillInRecord(BillInRecord billInRecord);

    public int insertBillInRecord(BillInRecord billInRecord);

    /**
     * 批量删除入库记录
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deleteBillInRecordByIds(String[] ids);

    /**
     * 入库更新时校验
     * @param billInRecord
     * @return
     */
    BillInRecord verifyBillInRecord(BillInRecord billInRecord);

    List<BillInDetailStreamVo> findStreamList(BillInDetailStreamVo billInDetailStreamVo);

}